package cn.coder.exception;

import lombok.AllArgsConstructor;

@AllArgsConstructor
public enum SystemErrorCode implements ErrorCode {

	// ServiceErrorCode

	ERROR("系统错误"),
	EXCEPTION("系统异常"),

	REMOTE_SERVICE_UNAVAILABLE("系统异常"),
	REMOTE_SERVICE_INVOKE_TIMEOUT("系统异常"),
	REMOTE_SERVICE_INVOKE_FAILURE("系统异常"),

	// BusinessErrorCode

	ILLEGAL_ARGUMENT("非法参数"),
	ILLEGAL_ACCESS("非法访问"),

	UNDEFINED_CAPTCHA("未下发验证码"),
	INVALID_CAPTCHA("验证码无效"),
	UNDEFINED_TOKEN("未下发令牌"),
	INVALID_TOKEN("令牌无效"),
	INVALID_MOBILE("号码无效"),

	// 这里的是通用错误码, 不要在这里随意添加

	// 不同业务自定义的错误码, 在各自业务包下自行定义错误码枚举, 实现 ErrorCodeEnumInterface 接口即可传入异常类
	;

	/**
	 * 给用户看的内容
	 */
	private final String message;
	public String message() {
		return message;
	}
}
